<?php
/*
定义头指针 left ，尾指针 right .
left 一直往右移，直到它指向的值为偶数
right 一直往左移， 直到它指向的值为奇数
交换 nums[left] 和 nums[right] .
重复上述操作，直到 left == right .
*/
class Solution {

    /**
     * @param Integer[] $nums
     * @return Integer[]
     */
    function exchange($nums) {
        $len = count($nums);
        $right = $len;
        for($left=0; $left<$right; ){
            // 找到第一个偶数 【不为偶数，右移】
            if($nums[$left]%2 != 0){
                $left++;
                continue;
            }

            // 找到第一个奇数 【不为奇数，左移】
            if($nums[$right]%2 != 1){
                $right--;
                continue;
            }

            // 交换
            list($nums[$left],$nums[$right]) = [$nums[$right],$nums[$left]];
        }
        return $nums;
    }
}